From 9da6bde1feafbe886c295027b959be47b4ad55b0 Mon Sep 17 00:00:00 2001
From: Kevin McCarthy <kevin@8t8.us>
Date: Sun, 21 Apr 2019 11:00:23 -0700
Subject: [PATCH] Fix unistring library configure test.

The "action-if-found" argument of AC_SEARCH_LIBS is run even if the
result is "none required" (i.e. the test function is already in LIBS,
in this case -lidn2).

This was causing "-lunistring" to be appended on a system without the
library installed, generating a build error.  Fix the test to not
append the library for the "none required" case.

Thanks to Fabrice Fontaine for reporting this issue and helping me
test the fix.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Retrieved from:
https://gitlab.com/muttmua/mutt/commit/9da6bde1feafbe886c295027b959be47b4ad55b0]
---
 configure.ac | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index 75943eee..102ddea2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1401,10 +1401,16 @@ if test "x$with_idn2" != "xno"; then
 
     AC_SEARCH_LIBS([idn2_check_version], [idn2], [
       AC_DEFINE([HAVE_LIBIDN2], 1, [Define to 1 if you have the GNU idn2 library])
-      dnl -lunistring is needed for static linking
-      AC_SEARCH_LIBS([u8_strconv_from_locale], [unistring], [LIBS="$LIBS -lunistring"])
       MUTTLIBS="$MUTTLIBS $LIBS"
 
+      dnl -lunistring is needed for static linking, and has to come
+      dnl after the -lidn2
+      AC_SEARCH_LIBS([u8_strconv_from_locale], [unistring], [
+            if test "$ac_cv_search_u8_strconv_from_locale" != "none required"; then
+              MUTTLIBS="$MUTTLIBS -lunistring"
+            fi
+      ])
+
       dnl libidn2 >= 2.0.0 declares compatibility macros in idn2.h
       LIBS="$LIBS $LIBICONV"
       AC_CHECK_DECL([idna_to_unicode_8z8z],
-- 
2.18.1

